package com.example.kuaizu.email;

import com.example.kuaizu.KuaizuAdminApplication;
import com.example.kuaizu.pojo.PromotionArrayObject;
import com.example.kuaizu.pojo.ov.PromotionArrayObjectOv;
import com.example.kuaizu.service.InEmailPromotionService;
import com.example.kuaizu.utils.EmailPromotionUtils;
import com.example.kuaizu.utils.SerializerUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.test.context.SpringBootTest;

import javax.mail.Authenticator;
import javax.mail.MessagingException;
import java.io.IOException;
import java.util.Properties;

@RunWith(org.springframework.test.context.junit4.SpringRunner.class)
@SpringBootTest(classes = KuaizuAdminApplication.class)
public class Emailtest {
    //@Autowired
    //@Qualifier("emailProPerties")
    //private Properties props;
    //@Autowired
    //private Authenticator authenticator;
    //@Autowired
    //private String USER_NAME;
    //
    //@Test
    //public void emailpro() {
    //
    //    //EmailPromotionUtils.sendEmail(new String[]{"sqdxqx@163.com", "sqdxqx3@163.com"}, props, authenticator, USER_NAME);
    //    String[] fakeEmails = {
    //            "ami2e@hotmail.com",
    //            "bami5@yahoo.com",
    //            "c3ami@outlook.com",
    //            "dami7@example.com",
    //            "eami9@gmail.com",
    //            "f8ami@hotmail.com",
    //            "gami3@yahoo.com",
    //            "h4ami@outlook.com",
    //            "iami6@example.com",
    //            "jami1@gmail.com",
    //            "k2ami@hotmail.com",
    //            "lami4@yahoo.com",
    //            "m5ami@outlook.com",
    //            "nami8@example.com",
    //            "oami0@gmail.com",
    //            "p9ami@hotmail.com",
    //            "qami2@yahoo.com",
    //            "r3ami@outlook.com",
    //            "sami5@example.com",
    //            "tami7@gmail.com",
    //            "u6ami@hotmail.com",
    //            "vami9@yahoo.com",
    //            "w8ami@outlook.com",
    //            "xami1@example.com",
    //            "yami3@gmail.com",
    //            "z4ami@hotmail.com",
    //            "aami6@yahoo.com",
    //            "b7ami@outlook.com",
    //            "cami0@example.com",
    //            "d9ami@gmail.com",
    //            "eami2@hotmail.com",
    //            "f3ami@yahoo.com",
    //            "gami5@outlook.com",
    //            "h6ami@example.com",
    //            "iami8@gmail.com",
    //            "j7ami@hotmail.com",
    //            "kami0@yahoo.com",
    //            "l9ami@outlook.com",
    //            "mami2@example.com",
    //            "nami4@gmail.com",
    //            "o5ami@hotmail.com",
    //            "pami7@yahoo.com",
    //            "q8ami@outlook.com",
    //            "rami0@example.com",
    //            "sami3@gmail.com",
    //            "t4ami@hotmail.com",
    //            "uami6@yahoo.com",
    //            "v7ami@outlook.com",
    //            "wami9@example.com",
    //            "x8ami@gmail.com",
    //            "yami1@hotmail.com",
    //            "z2ami@yahoo.com",
    //            "a3ami@outlook.com",
    //            "bami5@example.com",
    //            "c6ami@gmail.com",
    //            "d7ami@hotmail.com",
    //            "eami9@yahoo.com",
    //            "f8ami@outlook.com",
    //            "gami1@example.com",
    //            "h2ami@gmail.com",
    //            "i3ami@hotmail.com",
    //            "jami5@yahoo.com",
    //            "k6ami@outlook.com",
    //            "lami8@example.com",
    //            "m7ami@gmail.com",
    //            "nami0@hotmail.com",
    //            "o9ami@yahoo.com",
    //            "pami2@outlook.com",
    //            "q3ami@example.com",
    //            "rami5@yahoo.com",
    //            "sami7@outlook.com",
    //            "tami9@example.com",
    //            "u8ami@gmail.com",
    //            "vami1@hotmail.com",
    //            "w2ami@yahoo.com",
    //            "x3ami@outlook.com",
    //            "yami5@example.com",
    //            "z6ami@gmail.com",
    //            "a7ami@hotmail.com",
    //            "bami9@yahoo.com",
    //            "c8ami@outlook.com",
    //            "dami1@example.com",
    //            "e2ami@gmail.com",
    //            "f3ami@hotmail.com",
    //            "gami5@yahoo.com",
    //            "h6ami@outlook.com",
    //            "iami8@example.com",
    //            "j7ami@gmail.com",
    //            "kami0@hotmail.com",
    //            "l9ami@yahoo.com",
    //            "mami2@outlook.com",
    //            "nami4@example.com",
    //            "o5ami@hotmail.com",
    //            "pami7@yahoo.com",
    //            "q8ami@outlook.com",
    //            "rami0@example.com",
    //            "sami3@yahoo.com",
    //            "t4ami@outlook.com",
    //            "uami6@example.com",
    //            "v7ami@gmail.com"
    //    };
    //
    //    try {
    //        byte[] bytes = SerializerUtils.serializeArray(fakeEmails);
    //        System.out.println(bytes.length);
    //        //反序列化
    //        String[] strings = SerializerUtils.deserializeArray(bytes);
    //        System.out.println(strings);
    //    } catch (IOException e) {
    //        throw new RuntimeException(e);
    //    } catch (ClassNotFoundException e) {
    //        throw new RuntimeException(e);
    //    }
    //
    //
    //}
    //
    //@Autowired
    //InEmailPromotionService emailPromotion;
    //@Test
    //public void sendEmailTest() throws MessagingException {
    //    PromotionArrayObjectOv paov = new PromotionArrayObjectOv();
    //    paov.setOpenid("oKTnt66Fj2-EZ7Gd29QfFKFjEANA");
    //    paov.setProjectId(8);
    //    PromotionArrayObject pao = new PromotionArrayObject();
    //    pao.setSchool(1);
    //    pao.setSchoolMajor(1);
    //    PromotionArrayObject[] pa =  new PromotionArrayObject[1];
    //    pa[0] = pao;
    //    paov.setPromotionArrayObject(pa);
    //    emailPromotion.sendEmail(paov);
    //
    //}
}
